Skip to content

ciel 3.0.0 with ihp-sg13cmos5l - #140

Draft
donn wants to merge 4 commits into
mainfrom
donn/ihp-sg13cmos5l
Draft

ciel 3.0.0 with ihp-sg13cmos5l#140
donn wants to merge 4 commits into
mainfrom
donn/ihp-sg13cmos5l

Conversation

@donn

@donn donn commented Aug 27, 2026

Copy link
Copy Markdown
Member

There is a lot. Please check the commits for more info.

Please also do not squash this PR. I spread the changes cleanly for better traceability in the future.

donn added 2 commits August 27, 2026 14:28
- (breaking) rename family to ihp-sg13 and update ihp build scripts accordingly
- fix copyrights on various files
- update ci
All of these are breaking changes btw:

- outputs to non-ttys are now plain-text instead of JSON
- Family.default_includes is now a dictionary of patterns to lists, where the patterns are to be matched against a variant to determine the default library set that should be built/pulled
- Families now auto-register to both by_name and a new by_variant class dictionaries
- Family.resolve_libraries now requires a new argument, variant
- enable, fetch, push, and build now take a (pdk_family, pdk_variant) tuple instead of just the PDK family
  - enable and fetch no longer support automatic pushing
- get_ciel_home now returns a pathlib.Path, and so does Version.get_dir
- resolve_pdk_family's argument is no longer optional, moved to family.py, added to top-level exports
- resolve_pdk_variant moved to families.py, added to top-level exports
- remove deprecated method `get()`
@donn
donn requested a review from mole99 August 27, 2026 13:06
@donn
donn marked this pull request as draft August 27, 2026 13:07
@donn
donn force-pushed the donn/ihp-sg13cmos5l branch from aa9f431 to d4ea7c8 Compare August 27, 2026 13:10
adds new variant to ihp-sg13, three new libraries, and a new default include set if installation for that specific variant is requested
@donn
donn force-pushed the donn/ihp-sg13cmos5l branch 2 times, most recently from be6d03d to f1c8c78 Compare August 27, 2026 22:54
@donn
donn force-pushed the donn/ihp-sg13cmos5l branch from f1c8c78 to 9625178 Compare August 27, 2026 23:00

@mole99 mole99 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!
The pdk-family/pdk-variant tuple makes things much less ambiguous.

Comment thread ciel/manage.py
def fetch(
pdk_root: str,
pdk: str,
pdk_tuple: Tuple[str, str],

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For some semblance of backcompat, maybe

Suggested change
pdk_tuple: Tuple[str, str],
pdk_selector: Union[str, Tuple[str, str]],

and then resolve the tuple?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be possible!

Btw. shouldn't it then be Union[str, Tuple[str, List[str]]], since the PDK variants can be multiple?
Since the variable name has changed (pdk -> pdk_tuple), backwards compatibility isn't given anyway if passed by name, right?

So maybe we should focus on tidying up the API, even if that means breakage?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ciel is fairly low maintenance effort so I'd say tidying up the API shouldn't be our sole focus

Remember, the primary consumer of Ciel's API is LibreLane so I need to optimize for that use case :)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants